#!/bin/bash

# 项目名称
projectName=doubao_community_backend-master
# 年月日时分的时间戳
timestamp=$(date +%Y%m%d%H%M)
# 新镜像的名称
newImageName=$projectName-$timestamp

# 1.首先使用Dockerfile打镜像
docker build -t $newImageName .

# 2.停止并删除之前运行的容器
runningContainerId=$(docker ps | grep "$projectName" | awk '{print $1}')
# 如果有运行中的容器，停止它，并删除它
if [ -n "$runningContainerId" ]; then
  docker stop "$runningContainerId"
  docker rm "$runningContainerId"
fi
# 万一新的镜像有问题，为了恢复，就不删除之前的镜像了

# 在宿主机上创建logs目录，用于容器挂载，这样查看日志可以直接在宿主机查看，比较方便
mkdir -p ~/projects/$projectName/logs

# 3.运行新的镜像
docker run -d -p 9000:9000 --restart=always -v ~/projects/$projectName/logs:/logs $newImageName

# 运行的时候可以指定application-*.yaml配置文件，例如指定测试环境
# docker run -d -e SPRING_PROFILES_ACTIVE=test -p 9000:9000 --restart=always -v ~/projects/$projectName/logs:/logs $newImageName